سفارش تبلیغ
صبا ویژن
 RSS  | خانه | ارتباط با من | درباره من | پارسی بلاگ|مجموع بازدیدها: 40292 | بازدیدهای امروز: 2| بازدیدهای دیروز: 5
درباره خودم
AVR PIC 8051
MAHDI
زندگی زیباست ای زیبا پسند زنده اندیشان به زیبایی رسند
لوگوی وبلاگ

پیوندهای روزانه
مطالب قبلی
لینک های دوستان
لوگوی دوستان
اشتراک
 
یاهو

مقدمه خوب برای بچه های خوب

میکرو چیه؟

تو فارسی ما استاد خلاصه کردن کلمه های سخت و قلمب سلمبه خارجی هستیم. میکرو در اصل خلاصه شده میکرو کنترلر (Microcontroller) هست. (بعضی وقتها به میکرو پروسسور هم میکرو میگن که یک سری تفاوت عمده داره و به درد این مطلب نمیخوره)

از وقتی الکترونیک اومد زندگی متحول شد و از وقتی IC اومد الکترونیک متحول شد!
از فرمایشات حکیم بزرگوار Lost !!

IC دیگه چیه؟

آی سی یک قطعه الکترونیکی هست که یک مدار خیلی بزرگ رو توی یک فضای خیلی کوچیک فشرده کردن و تنها سیمهای رابطش رو بیرون آوردن. مثلا فرض کنید همین CPU کامپیوتر شما که یک آی سی فسقلی هست حدود 200 میلیون قطعه مختلف توش کار گذاشته شده. حالا تعداد قطعات روی Motherboard خودتون رو بشمرید به زحمت به 1000 قطعه میرسه.

یعنی اگه قرار بود CPU شما رو توی یک بسته کوچیک جاساز نکنند، الان اندازه اون CPU در حدود یک اتاق بزرگ بود.

دنبال چی می گردی

ما که آخرش نفهمیدیم میکرو چیه؟

میکرو یک IC خیلی جمع و جوره که معمولا چندین هزار قطعه الکترونیکی رو در کنار هم در یک بسته قرار دادن. اینطوری هم در فضایی که یک مدار خیلی بزرگ نیاز داره صرف جویی میشه، هم هزینه ساخت میاد پایین و هم مصرف برق کمتری داره.

مثلا کیبرد شما، ماوس شما، تلوزیون، یخچالهای جدید، ساعتهای دیجیتال، ماشین حسابها، درب بازکنهای تصویری و غیره همه میکرو دارن. کارهایی هم که میکرو میتونه بکنه تقریبا نامحدوده، یعنی از اندازه گیری دما در یخچال، تا دریافت و ارسال مادون امواج قرمز در کنترل تلوزیون، محاسبات پیچیده ریاضی تا کنترل ربات و هوش مصنوعی رو میتونه انجام بده.

معرفی جناب AVR

شرکتهای مختلفی میکرو کنترلر درست میکنن که بعضی از معروفهاش Intel، Atmel، Microchip و چندین شرکت دیگه هستند.

الان میکروهای ارزون قیمت که در اکثر کارهای صنعتی ایران به کار میره PIC محصول Microchip و AVR محصول Atmel هستند که خیلی هم بازار رو گرفتند و کارایی بسیار خوبی هم دارند. هر کدوم از این میکروها خصوصایت ویژه خودشون رو دارن و خیلی ها هم نسبت به یکی از اینها تعصب خاصی دارن.

ولی ما برای اینکه کار با AVR ها خیلی ساده تره و قطعات بسیار کمی برای راه انداختن یک دستگاه ساده لازمه از اونها استفاده میکنیم.

میکرو های AVR هم از نظر امکانات داخلی حرف نداره، هم زبانهای برنامه نویسی بسیار عالی براشون نوشته شده و هم حافظه های بسیار زیادی برای برنامه پذیری دارن و هم اینکه انواع مختلفی برای هر نوع کاری داره که به سادگی میشه بسته به نیاز یکی از اونها رو انتخاب کرد.

شکل 1-1 نمونه چند میکرو AVR

در شکل 1-1 به ترتیب از راست به چپ این میکروها دیده میشن:

  • میکرو ATTiny12 یکی از میکروهای بسیار کوچک AVR با امکانات بسیار بالا
  • میکرو ATMega32 یکی از پرکاربردترین میکروهای بازار ایران
  • میکرو ATMega128 یکی از قوی ترین میکروهای بازار که مخصوص کارهای صنعتیه

میکروهای AVR خیلی گرون نیستند. برای مثال میکروهای ATMega32 رو با یک جستجو در اینترنت ]1[ و ]2[ و]3[ قیمت حدود 3000 تومن رو نشون میده. البته باید خرید از بازار ارزون تر باشه. میکروی ATMega16 تقریبا مثل ATMega32 هست و قیمتش 2000 تومنه. اگه جایی برای خرید ارزونتر میشناسید معرفی کنید.

در ضمن شما یک میکرو که میخرید میتونید تا 10 هزار بار توش برنامه بنویسید و پاک کنید. (بله!10000 بار درست دیدید.) تازه اطلاعات شما داخل آی سی در حدود 100 سال بدون تغییر باقی میمونه!

خرید میکروهای ATTiny رو بهتون پیشنهاد نمیکنم، چون برنامه نویسی اونها یک سری فوت و فن خاصی میخواد که برای شروع بهتره سراغشون نرید.

یک نمونه کاربرد خیلی ساده

یک میکرو داریم و یک LED (دیود نور افشان) میکرو رو طبق جدولی که بعدا میبینید، ابتدا پایه هاش رو شناسایی میکنیم. دوتا پایه VCC و GND پایه های تغذیه اون هستند. یک ترانس 5 ولت لازمه که میکرو رو راه بندازه. + رو به VCC وصل میکنیم و GND رو به پایه منفی ترانس وصل میکنیم. LED رو هم طبق شکل، پایه بلندش که مثبت (آند) هست رو به پایه اول از بالا سمت راست میبندیم و پایه کوتاهه رو که منفی (کاتد) باشه به زمین (GND یا همون منفی ترانس) وصل میکنیم.

یعنی یک چیزی به شکل مدار 1-2 درست میکنیم.


شکل 1-2 ) مدار نمونه یک LED چشمک زن

بعد با چهار پنج خط برنامه نویسی (لیست 1-1) این LED رو بصورت چشمک زن در میاریم. یعنی هر نیم ثانیه یکبار خاموش و روشن بشه.

$regfile = "M32def.dat"
config PORTA = OUTPUT
do
toggle PORTA
waitms 500
loop
end

لیست 1-1) نمونه برنامه LED چشمک زن

اگه دقت کنید هیچ قطعه دیگه ای نمیخواد. اگه از قبل یک آشنایی کمی با میکرو داشته باشین حتما میگین که این مدار احتیاج به کریستال و خازن و مقاومت داره. ولی واقعا هیچی نمیخواد. خود AVR کریستال دقیق داخلی داره. مقاومت کافی برای راه اندازی یک LED در خروجی و مدار خازنی ریست داخلی.

اینا که گفتم یعنی چه؟! یعنی به همین سادگی و با قطعات بسیار کمی یک مدار عملی کار میکنه.

در مورد اینکه این چند خط برنامه چی هست وهر خط چیکار میکنه در فصل بعد توضیح میدم.

مثلا همانطور که حدس زدید دستور waitms 500 به مدت زمان 500 میلی ثانیه صبر میکنه. پس با تغییر اون میشه سرعت چشمک زدن رو تغییر داد.

فعلا همینقدر خواستم بدونید که خیلی ساده است.

پایان فصل اول

============================




نویسنده: MAHDI(پنج شنبه 86/11/18 :: ساعت 2:48 صبح)


لیست کل یادداشت های این وبلاگ